﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Data.SqlClient;
using System.Data;

/// <summary>
/// Descripción breve de WS_Producto
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// Para permitir que se llame a este servicio Web desde un script, usando ASP.NET AJAX, quite la marca de comentario de la línea siguiente. 
// [System.Web.Script.Services.ScriptService]
public class WS_Producto : System.Web.Services.WebService {

    public WS_Producto () {

        //Eliminar la marca de comentario de la línea siguiente si utiliza los componentes diseñados 
        //InitializeComponent(); 
    }

    string cadena = "server=CASA-PC\\MSSQLSERVER2008;database=200Millas;Integrated Security=SSPI";

    SqlConnection cnx = new SqlConnection();
    SqlCommand cmd = new SqlCommand();
    DataSet dts = new DataSet();
    SqlDataAdapter ada = new SqlDataAdapter();
    Boolean vexito = false;

    [WebMethod]
    public DataTable ListarProducto()
    {
        DataSet dts = new DataSet();
        try
        {
            cnx.ConnectionString = cadena;
            cmd.Connection = cnx;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "usp_ListarProductos";
            SqlDataAdapter miada = default(SqlDataAdapter);
            miada = new SqlDataAdapter(cmd);
            miada.Fill(dts, "Productos");
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
        return dts.Tables["Productos"];
    }

    [WebMethod]
    public bool InsertarProducto(string des_pro,string tip_pro,string cod_um,double pre_pro)
    {
        cnx.ConnectionString = cadena;
        cmd.Connection = cnx;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "usp_InsertarProducto";
        //Agregamos parametros 
        try
        {
            cmd.Parameters.Add(new SqlParameter("@vdes_pro", SqlDbType.VarChar, 25));
            cmd.Parameters["@vdes_pro"].Value = des_pro;
            cmd.Parameters.Add(new SqlParameter("@vtip_pro", SqlDbType.Char, 10));
            cmd.Parameters["@vtip_pro"].Value = tip_pro;
            cmd.Parameters.Add(new SqlParameter("@vcod_um", SqlDbType.Char, 3));
            cmd.Parameters["@vcod_um"].Value = cod_um;
            cmd.Parameters.Add(new SqlParameter("@vpre_pro", SqlDbType.Money));
            cmd.Parameters["@vpre_pro"].Value = pre_pro;
            cnx.Open();
            cmd.ExecuteNonQuery();
            vexito = true;
        }
        catch (SqlException x)
        {
            vexito = false;
        }
        finally
        {
            if (cnx.State == ConnectionState.Open)
            {
                cnx.Close();
            }
            // No olvidarse!!!!!!
            cmd.Parameters.Clear();
        }
        return vexito;
    }

    
}
